//layui.define定模板
layui.define(['GD_layer'],function(exports){
	 //提示：模块也可以依赖其它模块，如：layui.define('layer', callback);
    // 原型上 定义
	var common={
		//检测输入值是否正确
		check_err:function(obj ,check){
			var _this=this;
			return function(obj){
				for (var x in obj){
					if(!!obj[x]){
						throw new Error("func 参数 有误");
					}
				}
				return _this;
			}
		},
		 /*
        *check === obj
        *check.name 对象属性名
        *check.value 对象value
        *Object.keys() 不兼容ie8
        */
		check_single:function(check){
			if(check.value===null){
				var check_msg="没有"+check.name+"值";
				throw new Error(check.name)
			}
		},
		 /*
        * type 请求类型 默认 get
        * url  请求链接
        * suc  成功回调
        * err  失败回调
        * show_loading 是否显示 loading
        * */
	  ajax:function(obj){
	  	var log=console.log;
	  	var layer=layui.GD_layer;
	  	var load=null;
	  	
	  	obj.url=obj.url||null;
	  	obj.type=obj.type||"get";
	  	obj.suc=obj.suc||function(){log("成功但是没有回调")};
	  	obj.err=obj.err||function(e){log("错误：",e)};
	  	obj.show_loading=obj.show_loading||true;
	  	this.check_single(obj.url);
	  	obj.show_loading?load=layui.Layer.load({type:0}):"";
	  	return $.ajax({
	  		type:obj.type,
	  		url:obj.type,
	  		success:function(e){
	  		 obj.show_loading?layui.layer.close(load):""
	  		 obj.suc(e);
	  		}
	  		,error:function(e){
	  			obj.show_loading?layui.layer.close(load):""
	  			obj.err(e);
	        },
	        done:function(){
	        	obj.show_loading?layui.layer.close:""
	        }
	  	})
	  },
		
	}
	
	//输出test接口
	exports('GD_common',common);//第一个为输出模块的名字，第二个为输出哪个对象
})
